package com.ruoyi.order.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 订单对象 order
 *
 * @author testlove
 * @date 2021-07-08
 */
public class Order extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 订单编号主码，20210621001这种格式编号 */
    private String orderId;

    /** 订单名称 */
    @Excel(name = "订单名称")
    private String orderName;

    /** 客户编号 */
    @Excel(name = "客户编号")
    private Long customerId;

    /** 蔬菜类型编号 */
    @Excel(name = "蔬菜类型编号")
    private Long cropTypeId;

    /** 苗类型嫁接苗 | 实生苗 */
    @Excel(name = "苗类型")
    private String seedlingType;

    /** 砧木品种 */
    @Excel(name = "砧木品种")
    private String stockBreed;

    /** 接穗品种 */
    @Excel(name = "接穗品种")
    private String scionBreed;

    /** 接单日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "接单日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date receiveorderDate;

    /** 预计出圃日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "预计出圃日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date deliveryDate;

    /** 订单数量 */
    @Excel(name = "订单数量")
    private Long orderAmount;

    /** 合同单价 */
    @Excel(name = "合同单价")
    private Double contractPrice;
    /** 优惠总价 */
    @Excel(name = "优惠总价")
    private Double salePrices;

    /** 订单要求 */
    @Excel(name = "订单要求")
    private String requirement;

    /** 订单类型 代育加工 | 全部委托 */
    @Excel(name = "订单类型")
    private String orderType;

    /** 订单状态 接单 | 实施中 | 完成 */
    @Excel(name = "订单状态")
    private String status;

    /** 备注 */
    @Excel(name = "备注")
    private String note;

    @Excel(name = "客户编号")
    private String customer;

    public String getCustomer() {
        return customer;
    }

    public void setCustomer(String customer) {
        this.customer = customer;
    }

    public String getCropType() {
        return cropType;
    }

    public void setCropType(String cropType) {
        this.cropType = cropType;
    }

    public Double getSalePrices() {
        return salePrices;
    }

    public void setSalePrices(Double salePrices) {
        this.salePrices = salePrices;
    }

    /** 蔬菜类型编号 */
    @Excel(name = "蔬菜类型")
    private String cropType;

    public void setOrderId(String orderId)
    {
        this.orderId = orderId;
    }

    public String getOrderId()
    {
        return orderId;
    }
    public void setOrderName(String orderName)
    {
        this.orderName = orderName;
    }

    public String getOrderName()
    {
        return orderName;
    }
    public void setCustomerId(Long customerId)
    {
        this.customerId = customerId;
    }

    public Order(Order order) {
        this.orderId = order.getOrderId();
        this.orderName = order.getOrderName();
        this.customerId = order.getCustomerId();
        this.cropTypeId = order.getCropTypeId();
        this.seedlingType = order.getSeedlingType();
        this.stockBreed = order.getStockBreed();
        this.scionBreed = order.getScionBreed();
        this.receiveorderDate = order.getReceiveorderDate();
        this.deliveryDate = order.getDeliveryDate();
        this.orderAmount = order.getOrderAmount();
        this.contractPrice = order.getContractPrice();
        this.salePrices=order.getSalePrices();
        this.requirement = order.getRequirement();
        this.orderType = order.getOrderType();
        this.status = order.getStatus();
        this.note = order.getNote();
    }
    public Order(){

    }

    public Long getCustomerId()
    {
        return customerId;
    }
    public void setCropTypeId(Long cropTypeId)
    {
        this.cropTypeId = cropTypeId;
    }

    public Long getCropTypeId()
    {
        return cropTypeId;
    }
    public void setSeedlingType(String seedlingType)
    {
        this.seedlingType = seedlingType;
    }

    public String getSeedlingType()
    {
        return seedlingType;
    }
    public void setStockBreed(String stockBreed)
    {
        this.stockBreed = stockBreed;
    }

    public String getStockBreed()
    {
        return stockBreed;
    }
    public void setScionBreed(String scionBreed)
    {
        this.scionBreed = scionBreed;
    }

    public String getScionBreed()
    {
        return scionBreed;
    }
    public void setReceiveorderDate(Date receiveorderDate)
    {
        this.receiveorderDate = receiveorderDate;
    }

    public Date getReceiveorderDate()
    {
        return receiveorderDate;
    }
    public void setDeliveryDate(Date deliveryDate)
    {
        this.deliveryDate = deliveryDate;
    }

    public Date getDeliveryDate()
    {
        return deliveryDate;
    }
    public void setOrderAmount(Long orderAmount)
    {
        this.orderAmount = orderAmount;
    }

    public Long getOrderAmount()
    {
        return orderAmount;
    }
    public void setContractPrice(Double contractPrice)
    {
        this.contractPrice = contractPrice;
    }

    public Double getContractPrice()
    {
        return contractPrice;
    }
    public void setRequirement(String requirement)
    {
        this.requirement = requirement;
    }

    public String getRequirement()
    {
        return requirement;
    }
    public void setOrderType(String orderType)
    {
        this.orderType = orderType;
    }

    public String getOrderType()
    {
        return orderType;
    }
    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }
    public void setNote(String note)
    {
        this.note = note;
    }

    public String getNote()
    {
        return note;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("orderId", getOrderId())
            .append("orderName", getOrderName())
            .append("customerId", getCustomerId())
            .append("cropTypeId", getCropTypeId())
            .append("seedlingType", getSeedlingType())
            .append("stockBreed", getStockBreed())
            .append("scionBreed", getScionBreed())
            .append("receiveorderDate", getReceiveorderDate())
            .append("deliveryDate", getDeliveryDate())
            .append("orderAmount", getOrderAmount())
            .append("contractPrice", getContractPrice())
            .append("salePrices", getSalePrices())
            .append("requirement", getRequirement())
            .append("orderType", getOrderType())
            .append("status", getStatus())
            .append("note", getNote())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
